The present invention relates to a computer aided software development system and, particularly, to a method of automatically producing a job flow specification suitable for software maintenance, software understanding and development of new software.
In software development, it is usual to define a function or functions which the software to be developed should have to, stepwisely refine the software for realizing the functions and, finally, to produce the desired program.
The resultant program is described as design specifications, each for one of the refinement steps, and then a specification describing respective elements of each design specification produced in the previous step in detail is produced.
Although such a method is effective in developing new software, there is a problem in performing maintenance of the software developed thereby. That is, there may be a case where an upper level specification produced in an initial step is not consistent in content with software products (a program, job control language, a lower level specification) produced by refinement of the upper level specification. In such a case, the upper level specification does not properly describe the contents of the actual program and/or job control language, making the maintenance thereof difficult.
In order to solve this problem, it is necessary to make the upper level specification consistent with the content of the actual source program and/or the job control language by producing the upper level specification from the lower level software products, such as a refined specification, a refined source program and refined job control language. Japanese Patent Application Laid-open No. 1-237726 discloses a technique to realize such a solution. In the disclosed technique, specification information to be included in an upper level specification is derived by analyzing a plurality of refined specifications or software products, such as a source program and job control language, and the derived specification information is transformed in format into the upper level specification.